home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / utility / 603 / crackart.txt next >
Text File  |  1992-05-07  |  95KB  |  2,276 lines

  1. Translator's Note:  This is a first draft and has not been edited; it may
  2. contain errors.  Neither I nor the Miami Valley Atari Computer Enthusiasts
  3. will assume responsibility for any loss of income, hardware, or software
  4. which you may think resulted from the use of Crack Art.  The risk is
  5. yours.
  6.  
  7. I have tried to follow the spirit of the German text, but having no color
  8. monitor, I have not been able to check my work.  In some places I had to
  9. guess at what the authors meant.  Nonetheless, the description shows this
  10. to be a very powerful drawing program, equal to those from the Mac or DOS
  11. camps costing hundreds of dollars.  Please note that most of the comments
  12. inside [square brackets] are my comments, and were not in the original
  13. docs.
  14.  
  15. Translastion Copyright 1992 by Kervyn D. Mach and the Miami Valley Atari
  16. Computer Enthusiasts, Inc.  Permission to copy and distribute is given as
  17. long as this notice remains with the document.  Commercial sale of this
  18. translation is forbidden.
  19.  
  20. Miami Valley Atari Computer Enthusiasts
  21. P.O. Box. 24221
  22. Dayton, Ohio, USA 45424
  23. $3.00 For Disk Library Listing
  24. ********************************************************************
  25. Forward to CRACK ART
  26. ________________________________________________________________
  27.  
  28. CRACK ART is, after long delay, now shareware and may not be sold
  29. commercially.  The program may be further copied only together with this
  30. introduction.  If you use it a lot, or just feel like it, send us DM20 (no
  31. play money, please) [about $13.33 US in Feb '92 - ed]
  32.  
  33. The source code for CRACK ART consists of:
  34.  
  35. - 13080 lines of GFA Basic - 148 principal assembler routines (compressed,
  36. about 1.5MBytes)
  37.  
  38. The graphics claim about 134 kBytes.
  39.  
  40. Programmers interested in the GFA source code can get it complete
  41. (including assembler INLINES and graphics) for about 0.5734 Pfennig per
  42. line [one third of a cent per line].  That would be then a ridiculous 75
  43. marks [$50.00].  Therefore, laugh and cough up.
  44.  
  45. The programmers accept no liability for possible damage to hard- or
  46. software resulting from the use of CRACK ART.  (Since we've had not one
  47. problem in three years, we don't think you'll be the first.)
  48.  
  49. It goes without saying that you should first of all make a tenpack of
  50. backup copies [also if you prefer sixpacks].
  51.  
  52. We had originally planned on a commercial enterprise through a firm whose
  53. name sounds like that of a classic 3D game in which a spaceship flies
  54. diagonally through the cosmos.   Though their proposal sounded generous
  55. and had us thinking of huge profits, we were in the end outmaneuvered.
  56. Though we'd get DM 2.50 per unit sold (which we'd have to split)
  57. immediately, we hope that the shareware route will lead to surer (hard
  58. earned) money.
  59.  
  60. Horn Blowing:  The history of CRACK ART is quite amusing for those
  61. involved, probably more so for those who have run into the program or who
  62. know us.
  63.  
  64. From the authors (early 1990)
  65.  
  66.       Jan 'Jaybee' Borchers
  67. -----------------------------------------------------------------
  68.  
  69. It all started with a Holsten...  No...and...yes...  It all started with
  70. the old Atari 800.  As Atari then introduced its new XL series, I traded
  71. for a 600XL, later for an 800XL, which after a short time was traded in
  72. toward a pool table.  Suddenly in 1987  an Atari 1040 STF stood on my 2.65
  73. meter [8'9"] wide computer  table.  An Atari 520 ST was added to enable
  74. faster programming  and test runs.  (Networking research has unfortunately
  75. remained  just that.).  The 520 ST was soon sold again and in the meantime
  76. the 1040 grew to have little in common with the purchased item  (PC case
  77. with two drives, modem, switchable operating system,  built-in video
  78. digitizer, sound sampler, MHz indicator and NMI  interrupt.  The stereo
  79. and the sound distorter were taken back  out.)  Had you noticed?  I'm a
  80. hardware hacker.  Next is my TT8  (crappy sound from the internal
  81. speaker).
  82.  
  83. Back to CRACK ART.  Why the name?  There is a diskette monitor by the name
  84. of CRACK, which, not yet full fledged, was designed for hacking about in
  85. every data Babel one could find on a disk.  After we put this project on
  86. ice and decided on a pixel oriented drawing program to fulfill the same
  87. demands, we kind of adopted the name.  To account for the artistic part,
  88. we tacked on the ART.  The name was there; all we needed was the software.
  89.  
  90. Detlef "Roy" Roettger
  91. ----------------------------------------------------------------- 
  92. I had my first contact with computers when a classmate showed me his
  93. newest acquisition.  I don't remember its name any more.  Anyway, he soon
  94. traded it toward an Atari 400 (Price at that time about DM 1250 [$833 at
  95. today's rate of exchange]).  With this computer, astounding things were
  96. possible and my interest grew.  Later I bought myself an Atari 800XL.
  97. Shortly before I started college, I blew my savings on an Atari 260ST,
  98. which I still have, along with the 800XL, by the way.
  99.  
  100. After experiencing various painting, drawing, and construction programs,
  101. we wanted to develop our own program, which would be superior to other
  102. programs in speed and especially in ease of use.
  103.  
  104. That brought Alex, at the time an Information Sciences student in
  105. Erlangen, to the careless statement that this project, too, would be
  106. broken off before it was finished (sadly, it has happened).
  107.  
  108. ...................  
  109. CRACK ART grew and grew, becoming a goal in itself as we implemented more
  110. and more new ideas.
  111.  
  112. Existence to everything - no program without its own picture format.  The
  113. depackers and packers for the various graphic programs were so numerous
  114. that the idea for a pack algorithm of our own grew and grew.  Therefore,
  115. files with the CA1 extension are low resolution pictures, with CA2 and CA3
  116. being medium and high re solution pictures respectively.  Thanks to
  117. certain tricks, the packer compresses very effectively.  We know of no
  118. other graphics program that compresses its own files more effectively than
  119. CRACK ART. (Except for a new one of mine, in which the menu graphics were
  120. written.  It uses the LZW packing algorithm.)
  121.  
  122. Additional Comments (May 1991)
  123. ----------------------------------------------------
  124.  
  125. Jan now owns a TT.  And guess what.  Despite "incompatible" (Hey Julian!)
  126. programming methods, CRACK ART runs on it as well!!!  Because we wrote
  127. most of the routines in assembler, the faster processor with the mind
  128. blowing speed has no trouble at all.
  129.  
  130. CRACK ART Handbook 1.00 TT+
  131.  
  132. Copyright Detlef Roettger and Jan Borchers
  133. ---------------------------------------------------------------
  134. ---------------------------------------------------------------
  135.  
  136. CRACK ART runs on every Atari ST/TT with at least 1 MB memory, TOS in ROM,
  137. and color monitor.  We recommend at least 1.5 MB.  The STE was not tested,
  138. but should have no problems.
  139.  
  140. The Handbook 
  141. -----------------------------
  142.  
  143. We have tried to make the handbook as thorough as possible, though it is
  144. really easier to show the operation to someone than to describe it in
  145. hairsplitting detail (One picture says more than a thousand words).
  146. Should a function seem unbelievably complicated at the first reading,
  147. you're probably right, but in practice it will prove to be simple and
  148. useful.  Therefore, you should try each function as you read about it, on
  149. line as it were (assuming you have printed this out or own two computers).
  150.  
  151. With this program, you have a powerful tool for producing and modifying
  152. graphics in ST low resolution.  We've had great fun with the development
  153. and we wouldn't like to be without the program.  We believe that you will
  154. see that when you use the program and moreover that opportunities for
  155. creating useful programs are not yet gone.
  156.  
  157. We hope the explanations in this handbook are not too dry.  We have strewn
  158. numerous small examples (and occasional wacky comments from Jan...)
  159. liberally in the text.  These should clarify the operation of the program
  160. and lead the user through the tiny details.
  161.  
  162. For those in a hurry, there is a list of keyboard commands for the
  163. elementary operations at the end of this handbook.  These alone, however,
  164. won't clarify most functions.  After that is an appendix with the HAVE YOU
  165. EVER SEEN...? details of the program.
  166.  
  167. On the Construction of the Menus
  168. -------------------------------------------------
  169.  
  170. The various functions are represented on the menu by colored
  171. icons.  You will immediately distinguish five groups:
  172.  
  173. -Icons for the elementary drawing functions (in shades of gray)
  174. -Icons for block operations (multicolored) 
  175. -Icons for disk operations (disk icon) 
  176. -Icons for choice of screen (numbered in sequence) 
  177. -Icons for special functions (strange)
  178.  
  179. Functions are selected with the left mouse button.  Some drawing functions
  180. allow specification of parameters after a double click.  The right mouse
  181. button togg les between the menu and the drawing screen(s).
  182.  
  183. Exit the program by clicking on the desktop icon in the lower right
  184. corner.  If all drawing screens are empty, the program simply quits.
  185. Otherwise, it enumerates the occupied screens and gives you the
  186. opportunity to save or abandon them.
  187.  
  188. Date and time are easy to set; the day of the week is then automatically
  189. calculated.  The displayed time changes only when you click on a menu
  190. selection.  (Mor e about this later.)
  191.  
  192. General Overview of Alert- and Dialog Boxes. 
  193. ---------------------------------------------------------------
  194.  
  195.     Alert Boxes 
  196. --------------------
  197.  
  198. The alert boxes used in CRACK ART were entirely developed by us so there
  199. would be no breaks in the appearance of the menus.  Their function is
  200. easily explained .   All alert boxes contain up to ten lines of text and
  201. as many buttons as necessary in the bottom row.  Default selections are
  202. ringed with red and can be sele cted with RETURN.  Otherwise, make your
  203. choice with the left mouse button.  All buttons have exit status.
  204.  
  205.    Dialog Boxes
  206. ---------------------
  207.  
  208. The dialog boxes are somewhat more flexible in construction than the alert
  209. boxes.  The first line of text names the function of the alert box, after
  210. which usu ally folow several lines denoting a function and buttons to
  211. activate them.  The last line always consists of the buttons 'OK' and
  212. 'CANCEL.'  Currently active functions are ringed with red.  Parameters can
  213. be changed any way you wish.  They will take effect only after you leave
  214. the box by clicking on OK and the next  time you call the dialog box, your
  215. last inputs will show as current, i.e. ringed in red.  If you click on
  216. CANCEL, the old values remain.
  217.  
  218.   File Select Box 
  219. ----------------------
  220.  
  221. See under Disk Operations.
  222.  
  223.    Menu Icons 
  224. -----------------------
  225.  
  226.    -MENU SETS- 
  227. ---------------------------
  228.  
  229. The very first button in the menu allows global parameters to be
  230. set.
  231.  
  232. Parameter:
  233.   Bootvirus Test: On Off                  
  234.   Double Click:   Slow Normal Fast        
  235.   Mouse Form:     Shaded Normal Stripes    
  236.   Mouse Color:    Red Yellow Green Blue   
  237.   Mouse Shadow:   On Off                  
  238.   Menu Frames:    Red Yellow Green Blue   
  239.  
  240. When SAVE SETTINGS is selected, these parameters are saved in a file
  241. called CRACKART.INF.  The next time you load CRACK ART, they will be
  242. automatically set.
  243.  
  244. -----------------------------------------------------------------
  245.         - WORK SETS - 
  246. -----------------------------------------------------------------  
  247. So far, only three parameters may be set here.
  248.  
  249. Parameter:
  250.   Preview Zoom: On Off
  251.   Zoom Grid:    On Off
  252.   Colors:       Neochrome Cube
  253.  
  254. Preview Zoom toggles the real time loupe between the function keys and the
  255. shifted function keys.  Zoom Grid determines whether a pixel splitting
  256. raster is act ive in the loupe.  Colors alters the format of the color
  257. selection after a double click on a color in the color menu (which also
  258. see).
  259.  
  260. -----------------------------------------------------------------
  261.         - ASM - 
  262. ----------------------------------------------------------------- 
  263. Should somehow you want a function we haven't built in already, you can
  264. hang one of your own, up to 5000 bytes, here.  From the stack, the routine
  265. will get the address of the working screen, the address of its color
  266. palette,and the addresses of three additional screens you can use as
  267. working storage.  Be very carefu l not to exceed 32000 bytes per screen,
  268. or the program will probably crash.  An example follows:
  269.  
  270. ;-Example-------------------------------
  271.         .TEXT ; Save registers before proceeding.
  272.         movem.l d1-d7/a0-a6,-(sp)
  273.  
  274. ;These addresses are on the stack and can be fetched like so.
  275. (Caution! When using this simple method in subroutines, pay
  276. attention, because the offsets are adjusted by the return
  277. address) 
  278.         move.l  60(sp),a0       ; Address of the current screen
  279.         move.l  64(sp),a1       ; Address of the color palette
  280. (16 words)
  281.         move.l  68(sp),a2       ; Address of the first workscreen
  282.         move.l  72(sp),a3       ; Address of the second
  283. workscreen
  284.         move.l  76(sp),a4       ; Address of the third workscreen
  285.  
  286. ; Or you can replace the preceding five lines with       
  287.       ; movem.l 60(sp),a0-a4 
  288.  
  289. ;Your routine starts here
  290.      .
  291.      .
  292.      .; And ends here 
  293. ;Before returning, restore the registers
  294.         movem.l (sp)+,d1-d7/a0-a6
  295.         rts   
  296.  
  297.         .DATA
  298.         .EVEN ; Within the 5000 Bytes some storage is available
  299.  label_1: .DC.W ...  ...  label_n:.DC.W ...
  300.         .END;
  301.  
  302. The routine must be written completely PC relative and, naturally can't
  303. contain a Block Storage Segment (.BSS).  Assemble as a .PRG.  If you
  304. haven't mastered Assembler, forget the whole thing here and now.  If
  305. you're a C professional (I hate C! - Jan) [Me too! - ed], you might try
  306. that.  Additionally, you can use the Physbase as working storage.  On
  307. return from your routine, the menu is redrawn.
  308.  
  309.        Drawing Functions:
  310. ---------------------------------------------------------------
  311.  
  312. +*  Draw        D    = Freehand drawing                  
  313. +   Eraser      E    = Eraser  
  314. +   Point       P    = Single points 
  315. +   Line        L    = Draw single line 
  316. +*  K-Line      K    = Polyline              
  317. +   Rays        R    = Rays 
  318. +   Frame       F    = Rectangle 
  319. +*  Circle      C    = Circle and Ellipse                        
  320. *   Airbrush    A    = Spray can 
  321. +*  Box         X    = Filled rectangle 
  322. +*  Disc        Y    = Filled Circles and Ellipses 
  323. +*  Polygon     W    = Filled polygon 
  324. *   Spline      I    = Two different spline algorithms and one
  325.                        curve routine 
  326. *   Smear       S    = Smear pixels on the screen 
  327. *   Outline     O    = Add borders to Lines and areas 
  328. +   Fill        Z    = Fill a screen region 
  329. *   Mirror      M    = Draw with symmetry axes 
  330. *   Text        T    = Put text on the screen
  331.  
  332. The functions marked with a plus sign work also with blocks.  The block
  333. then serves as a paintbrush, or for functions that operate on surfaces, as
  334. a fill pattern using the current pattern (See also Color Menu).  The
  335. functions marked with an asterisk control parameters which can be changed
  336. after double clicking on the icon.  The letter after the function name is
  337. the keyboard equivalent of the menu icon.
  338.  
  339. A colored border around the icon shows that it has been selected.  The
  340. permissible MIRRORed drawing operations are automatically recognized and
  341. corrected if necessary.  Drawing functions which require several
  342. operations are cancelled or ended with the right mouse button.
  343.  
  344. The Drawing Functions: 
  345. ---------------------------------
  346.  
  347.    -DRAW- 
  348. ---------------------------------- 
  349. Freehand drawing with the mouse button down.
  350.  
  351. Brush or Block.
  352.  
  353. Parameters:
  354.   Tint:   Opaque Scrape
  355.   Source: 1 2 3 4 5 6 7 8 9
  356.  
  357. When Opaque is selected, you can't see through the drawn lines.  
  358. With Scrape you scratch through the background of the screen
  359. selected via Source.  This function is especially handy for
  360. trimming blocks whose edges were not neatly cut out.
  361.  
  362. Limitations:  You can't draw polylines with Opaque in block mode.
  363. Hint:  Use slow mouse movements.  Scrape works only pointwise
  364. and not with Block.  Scrape large areas with BOX (which see). 
  365.  
  366.     -POINT- 
  367. --------------------------- 
  368. Set single points.
  369.  
  370. Brush or Block
  371.  
  372. Point, in conjunction with the SHIFT and CONTROL keys, turns on
  373. special functions.
  374.  
  375. SHIFT:    The block is copied behind the current picture.
  376. CONTROL:  The block is copied onto the current picture and the
  377. part of the picture that was covered up becomes the new block. 
  378. With this, arbitrarily complicated blocks (especially in OBJECT
  379. mode) can be brought onto a picture.  Try it once!
  380.  
  381.     -LINE-
  382. ----------------------
  383.  
  384. Draw lines by specifying the end points.
  385.  
  386. Brush or Block
  387.  
  388.     -K-LINE-
  389. --------------------
  390. Draw arbitrarily long chains of connected straight lines or
  391. regular polygons.  End a line chain with the right mouse button. 
  392. On completion of a polygon, the mouse is set in the center so
  393. that you can draw concentric polygons without having to mark the
  394. center point.
  395.  
  396. Brush or block.
  397. Parameters:
  398.   Mode:  Free Regular
  399.   Edges: 3 4 5 6 7 8 9
  400.  
  401. Limitations: - Blocks can't be used with regular polygons.
  402.  
  403.     - FRAME -
  404. ---------------------
  405. Draw squares by marking two corners with the mouse.
  406.  
  407. Brush or block.
  408.  
  409.     - CIRCLE -
  410. ------------------------
  411. Draw circles and ellipses.  On completion of a circle, the mouse
  412. is set at the center so you can draw concentric circles [or
  413. ellipses? -ed] without having to locate the center point.
  414.  
  415. Brush or block.
  416.  
  417. Parameters:
  418.   Mode: Center 2-Point 3-Point
  419.  
  420. In center mode, circles and ellipses are specified with the
  421. center point and the radius or two semiaxes.  To get true
  422. circles, hold down the ALTERNATE key while drawing.
  423.  
  424. In 2-Point mode, you mark two points which are taken as the ends
  425. of a diameter and the circle is drawn between them.  In 3-Point
  426. mode, you specify three points [not in a straight line] and a
  427. circle is fit to them.
  428.  
  429. Limitations:  CIRCLE works in Center mode only with the block.
  430.  
  431.    - ERASER -
  432. --------------------------
  433. Brush: Mark the size of your eraser with a rectangle.  With it,
  434. you can wipe the screen clean, except for the frame of the
  435. rectangle itself.  Resize the rectangle by pressing the right
  436. mouse button.
  437.  
  438. Block:  The block is your eraser.  The form of the block comes
  439. from the block mode (which see).
  440.  
  441.     - AIRBRUSH -
  442. ------------------------------
  443. Spray can
  444.  
  445. Parameters:
  446.   Form:  Flat  Center  - Uniform density across the spray or 
  447.                          heavier in the middle
  448.   Flow:  Low Medium High  Rate of flow
  449.  
  450. Before spraying, set the spray size with a circle.
  451.  
  452. Limitations:  Works only with Brush.
  453.  
  454.     - RAYS -
  455. ----------------
  456. Draw lines with a common start point.
  457.  
  458. Brush or block.
  459.  
  460.     - POLYGON -
  461. ------------------------
  462. Draw filled polygons, regular or no.  Use the right mouse button
  463. when drawing irregular polygons.
  464.  
  465. Brush:  The polygon will be filled with the current background
  466. pattern.
  467.  
  468. Block:  The polygon will be filled with the background associated
  469. with the block.
  470.  
  471. Limitations:  Not more than 128 sides, please.
  472.  
  473.     - BOX -
  474. --------------------
  475. Draw a filled rectangle or carry out a special function inside a
  476. rectangular region.
  477.  
  478. Set two corner points of the rectangle with the mouse.
  479.  
  480.  
  481. Parameters:
  482.   Tint: Opaque Scrape Glass Effects
  483.   Source 1 2 3 4 5 6 7 8 9
  484.  
  485. Opaque:
  486.   Brush:  The rectangle will be filled with the current
  487.           background pattern.
  488.   Block:  The rectangle will be filled with the background 
  489.           pattern associated with the block.  (Try a checkerboard
  490.           pattern and a multi-colored block.) 
  491.  
  492.   Scrape: A rectangular region will be 'scraped' out of the
  493.           screen specified by Source and the colors will be 
  494.           adjusted simultaneously.
  495.  
  496.   Glass:  The current color will be applied transparently over
  497.           the rectangle.  (Good for multiple levels of a color.)
  498.  
  499. Effects:  An effect routine will be applied over the rectangle. 
  500. The effects are specified in Source:
  501.  
  502.   1 = ANTI 4            5 = EROSION
  503.   2 = ANTI 8            6 = MEDIAN -
  504.   3 = ROUND             7 = MEDIAN
  505.   4 = CONTRAST          8 = MEDIAN +
  506.                         9 = DILATATION
  507.  
  508. Limitations:  With a block, only opaque mode is available.
  509.  
  510.     - DISC -
  511. ------------------
  512. Draw filled circles or ellipses.
  513.  
  514. Brush or block.
  515.  
  516. Parameters:
  517.   Mode:  Center  2-Point  3-Point
  518.  
  519. Same as CIRCLE, above.  In brush mode, the current background is
  520. the fill pattern, while block mode uses the pattern associated
  521. with the block.
  522.  
  523.     - TEXT -
  524. ------------------
  525. Add lines of text with either standard or a user-defined font. 
  526. Specify the standard font's parameters in the Color menu (which
  527. see).
  528.  
  529. Further Parameters:  
  530. User-defined fonts may be no more than 32x32 pixels in 16
  531. colors.  CAUTION:  User-defined fonts are always loaded on the
  532. current screen!
  533.    
  534.    Settings: 
  535.         Width    - of the character
  536.         Height   - of the character
  537.         Distance - between two characters in proportional spacing.
  538.         Screen  - which one do you want the font on?
  539.  
  540. Save Parameters:  A file with the name of the current screen and
  541. the extension DEF will be written with the current parameters. 
  542. When a picture in the format C A1, IC1, PI1, or PC1 is loaded, a
  543. matching DEF file will be sought, and if found, read.
  544.  
  545. To load SIGNUM! editor fonts:  The characters are 16x24 pixels
  546. and are always in color #15.  (Can be changed with EXCHANGE in
  547. the color menu.)  These values will be automatically set. 
  548. Distance is set to 1.  In the color menu, EXTRA and PROP are
  549. chosen in order to be able to work with the fonts immediately.
  550.  
  551. To load editor FNT fonts (TEMPUS, EDIMAX, DEGAS...)  Up to 8x16
  552. pixels, the above holds.
  553.  
  554.     - OUTLINE -
  555. ----------------------------
  556. Put a colored border around an area.  Select the area and/or the 
  557. color with the mouse.
  558.  
  559. Parameters:
  560.   Form:  Round  Square  -  Mark the corners of the border.
  561.   Part:  Local  Global  -  Put a border around only this area or
  562.      around all areas of the same color on the screen.
  563.   Mode:  Initial  All  Put a border around only the selected
  564.      color or bring all neighboring colors into the area.
  565.   Type:  Stay  Grow  -  The bounded area remains or is wiped out.
  566.  
  567. Limitations:  Works only on the background color.
  568.  
  569.     - FILL -
  570. ---------------------
  571. Fill areas (Flood Fill).  Brush:  The current background pattern 
  572. is the fill pattern.  Block:  The background pattern connected to 
  573. the block is used.
  574.  
  575.     - SMEAR -
  576. -------------------
  577. Wiping of pixels.  
  578.  
  579. Parameters:
  580.   Flow: Low Medium High  - Flow velocity of the smear function.
  581.   Size: 02 04 08 16      - Edge length of the smearing rectangle 
  582.                            in pixels.
  583.  
  584. Limitations:  Works only in Brush mode.
  585.  
  586.     - MIRROR -
  587. --------------------
  588. Reflection about axes of symmetry.
  589.  
  590. Parameters: Mirror Mode:
  591.      Horizontal - Reflection about the horizontal axis of
  592.                   symmetry.
  593.      Vertical   - Reflection about the vertical axis of symmetry.
  594.      Both       - Simultaneous reflection about both axes
  595.  
  596. Limitations:  Doesn't work with 
  597.   ERASER, AIRBRUSH, TEXT, OUTLINE, FILL, SMEAR, SPLINE
  598.  
  599. Should one of these functions be active when MIRROR is selected, 
  600. the program shifts automatically to DRAW.  If you select one of 
  601. these functions while in MIRROR, you will be switched out.  The 
  602. fill pattern of area-related functions like POLYGON, BOX, and 
  603. DISC is not reflected.
  604.  
  605.     - SPLINE -
  606. -----------------
  607. Drawing spline curves with two different algorithms and arcs
  608. between two points.
  609.  
  610. Parameters:
  611.   Mode:        Bezier    - Spline that is tangent to a polyline
  612.                Smooth    - Spline that passes through the corner 
  613.                            points of a polyline
  614.                Curve     - Arc between two endpoints.  
  615.                            Intersection (below) is ignored.
  616.   Intersection: 04 06 08 10 - Number of support points between 
  617.                            two end points.
  618.  
  619. Limitations:  Doesn't work with Block.
  620.  
  621.  
  622.     The Working Screens
  623.     -------------------
  624.  
  625. In the lower left corner of the main menu, you will see nine 
  626. numbered buttons, each with two light diodes.  They represent the 
  627. working screens.  Depending on memory size, the available screens 
  628. will be marked with blue LEDs on startup.  (The blue LEDs have a 
  629. further meaning for animation, which see.)  The current working 
  630. screen is marked with a red LED.  Switch screens with the mouse 
  631. or by typing the corresponding number.  The right mouse button 
  632. toggles you between the current screen and the main menu.  The 
  633. ESC key will get you back to the current screen from the main 
  634. menu, but the reverse DOES NOT work.  In the current screen, the 
  635. ESC key cuts out a block.
  636.  
  637.     Functions with the Working Screens
  638. -----------------------------------------
  639.  
  640.      Screen Erase:  Holding the left mouse button down, drag the 
  641. desired screen icon into the trash can.  For safety, the program 
  642. asks whether you really want to erase screen #n.
  643.  
  644.      Copying, Swapping, Flowing:  Drag one icon onto a second.  A 
  645. dialog box appears, allowing:
  646.  
  647.      Everything     | Picture | Color Palette
  648.      Copy           | Swap    | Flow
  649.  
  650. and, if it makes sense, recolor to match the current palette.
  651.  
  652.      Add to Animation List:  A double click on the working screen 
  653. icon turns the blue LED on or off (if the screen is available).  
  654. The screens with the blue lights on are in the animation list; 
  655. the others are not.  (See ANIMATION)  By the way, if you hold the 
  656. mouse button down on an unavailable icon, the current one will be 
  657. grabbed!
  658.  
  659.  
  660.     - SHOW - (The gray button)
  661. -------------------------------
  662. Next to the nine buttons is a similar one, labeled SUPER.  With 
  663. this one it is possible to get an overview of all active screens.
  664.  
  665. A double click on this button allows the setting of parameters:
  666.   Mode: Black/White Color(/TT-View)
  667.  
  668. With Black/White, all occupied screens will be drawn in little 
  669. gray-scale pictures.  That takes a certain amount of time.  After 
  670. that, little frames are drawn around them all simultaneously.  
  671. Under each picture is its name or a blue DISUSED.  Empty screens 
  672. are marked with a graffiti EMPTY SCREEN.
  673.  
  674. With Color, all nine (or as many as available) screens will be 
  675. drawn in reduced size using the color palette of the current 
  676. screen.  Thereby, it is possible to draw pictures larger than one 
  677. screen.  In order to match the edges of the component pictures, 
  678. each can be "rolled out" like piecrust.  Use the cursor keys and 
  679. the pictures will be copied in the corresponding direction by one 
  680. half the screen width or height.  (Only the available screens, 
  681. naturally.)  This makes sense only for 1, 2, 3, 4, 6, and nine 
  682. pictures.  (You will see why when you try it.)  The working 
  683. screens will then show the seam lines and you can doctor them to 
  684. match.
  685.  
  686. Finally, all pictures can be restored to their original 
  687. positions.
  688.  
  689. With TT-View, screens 1-4 are shown in middle TT resolution with 
  690. the current color palette.
  691.  
  692.     Blocks
  693. --------------
  694.  
  695. The menu may give you the idea that we're crazy about blocks.  To 
  696. be honest, we carry out nearly all our picture manipulations with 
  697. blocks.  On the other hand, we create our pictures with the 
  698. loupe.  This is one reason why the loupe got special attention, 
  699. but more on that later.
  700.  
  701. How, then, can one cut out the desired part of the screen?  CRACK 
  702. ART offers four (!!!!) possible ways to cut out a block.  The ESC 
  703. key always works.  If you change your mind or find an error, just 
  704. press ESC again or press the right mouse button and the previous 
  705. block is still there.  But, if you do something with the new 
  706. block and then change your mind, you lose the previous block.
  707.  
  708.      1.  Cutting out a rectangular block
  709. ------------------------------------------
  710.  
  711. After you press the ESC key, a screen-sized cross hair appears.  
  712. The current X and Y coordinates are shown in the lower left 
  713. corner.  With the mouse, move the cross hair to one corner of 
  714. your block.  It doesn't matter which corner.  Press the left 
  715. mouse button and hold it down.  The cross hair disappears and a 
  716. rectangle appears.  Moving the mouse, draw a frame around the 
  717. block you want.  When you release the left button, the block is 
  718. captured and all functions are directed at the block.  Depending 
  719. on which function was previously active, either a small, hollow 
  720. cross hair or the block itself will follow the mouse motion.  By 
  721. way of explanation, all functions which do drawing operations on 
  722. an area will use the block and its associated background pattern 
  723. as a fill pattern.  If you want to use the block as a pure fill 
  724. pattern, a fully filled background pattern must be active.  
  725. (Background patterns are set in the color menu.  See there.)  If 
  726. you want to see your block, turn the DRAW function on by typing 
  727. D.  This guarantees that your block is tied to the mouse.  You 
  728. can draw as usual, but marked with the block.  With the B key, 
  729. you toggle between Block and Brush.
  730.  
  731.      2.  Cutting out a round block
  732. -------------------------------------
  733.  
  734. If you want to cut circular or elliptical blocks (Yes, that 
  735. works, too.) press CONTROL+ESC.  The large cross hair appears 
  736. again, with which you mark the center of your block.  Press and 
  737. hold the left mouse button while you pull an ellipse around the 
  738. desired area.  See CIRCLE, above, for a review.  When you release 
  739. the mouse button, the round (elliptical) block is cut out.  From 
  740. here on, everything works as it did for rectangular blocks, only 
  741. the block mode is OBJECT.  More on that at the end.
  742.  
  743.      3.  Cutting a block with a lasso
  744. -------------------------------------
  745.  
  746. If rectangular or round blocks aren't enough, CRACK ART offers 
  747. the possibility of cutting out blocks of arbitrary shape.  Press 
  748. SHIFT+ESC.  A small cross hair, like those used by the drawing 
  749. functions, appears.  Move the cross hair to the start point of 
  750. your cut and click (don't hold) the left mouse button to mark the 
  751. point.  Now, without pressing any mouse buttons, draw your 
  752. lasso loop.  No fair crossing your loop; CRACK ART inscribes a 
  753. polygon inside it and fills it.  Click the right button when 
  754. you're done.  Now, with the left mouse button, you can choose 
  755. either what's inside or what's outside the loop as your block.  
  756. From here on, everything works as described for rectangles and 
  757. round blocks.
  758.   
  759.  
  760. Some programs allow maybe only 27 or 1000 corners on your 
  761. polygon.  You don't have to worry about such piddly numbers with 
  762. CRACK ART.  You will probably never need its maximum 10,000 
  763. points.  TIP:  If you want a block in the form of wild lines, 
  764. scribble all over the screen, then cut off a tiny loop at the 
  765. end.  Only this part will be filled.  Depending on the density of 
  766. lasso lines, the resulting block is more or less recognizable.  
  767. The block mode is OBJECT.
  768.  
  769. When selecting a block by one of the three foregoing methods, if 
  770. you hold down the ALT key, the spot occupied by the block will be 
  771. erased when you cut the block out.  You will have a hole in the 
  772. picture, which you can restore with the UNDO key.
  773.  
  774.      4.  Cutting out a block via a fill function
  775. -------------------------------------------------
  776.  
  777. If you want to cut out a complicated looking (but connected) 
  778. block, press ALT+ESC and click on the screen region which you 
  779. want to take as a block..  Pixels of color 0 (background color) 
  780. will be interpreted as borders of the block.  The object within 
  781. the border will be taken as a block.  The block mode is OBJECT.
  782.  
  783.      What do the various block modes have to say?
  784. --------------------------------------------------
  785.  
  786. In the menu you will see in the top row a button with an artist's 
  787. paintbrush on it.  To its right is a button with a highlighted 
  788. block.  You can toggle back and forth between them with the mouse 
  789. or the B key (radio buttons).  Farther to the right are the 
  790. buttons for setting the block mode and the block boundaries on 
  791. the screen.
  792.  
  793.     - XRAY -
  794. ----------------
  795. In this mode, all parts of the block having the background color 
  796. (color 0) are transparent.
  797.  
  798.     - OBJECT -
  799. ----------------
  800. This block mode is something quite special.  It is produced by 
  801. cutting with the lasso or the ellipse, through which the block 
  802. mask is determined.  All regions within the mask are opaque.  If 
  803. this mode is inactive, it can be turned on via the menu and 
  804. produces an object mask.  (See CUT and OBJECT.)
  805.  
  806.     - BLOCKED -
  807. ------------------
  808. In this block mode, all regions of the block are opaque 
  809. (rectangles).
  810.  
  811.      More about block modes:
  812. -----------------------------
  813. You can switch back and forth between XRAY and BLOCKED without 
  814. loss of information.  You can use the menu buttons or the left 
  815. and right parentheses on the keyboard. [Note - the German 
  816. keyboard layout is different; you may have to experiment here.]
  817. If you shift from OBJECT to another block mode, you lose the old 
  818. object mask.
  819.  
  820. For example, take a block containing an unfilled circle.  If you 
  821. cut this block out in circular form, probably not exactly 
  822. centered on the unfilled circle, you will have an Object Block 
  823. with a mask which renders the inner area opaque, but which 
  824. follows the contour well.  If you switch to XRAY, the circle is 
  825. transparent inside and out, but in BLOCKED mode, the circle is 
  826. opaque inside and out, with a rectangular mask surrounding.  Now, 
  827. when you apply the OBJECT function to this block, you get a block 
  828. that is opaque inside and transparent outside, with the circle 
  829. perfectly bordering the mask.  [Remember 'way back in the 
  830. introduction when the authors suggested trying the various 
  831. functions as you go along?  This is a good place to do so.]
  832.  
  833.      Bordering the block with the screen edges
  834. ----------------------------------------------
  835. With the buttons FREE-MOVE and EDGE-STOP, or the '/' and '*' 
  836. keys, you can toggle back and forth between the two kinds of 
  837. border specifying.  EDGE-STOP means that the block can't pass 
  838. beyond the screen boundaries, while FREE-MOVE lets the block 
  839. cross half way over the boundary, that is till the middle of the 
  840. block reaches the boundary.
  841.  
  842.      The Color Menu
  843. -------------------
  844.  
  845. The color menu allows access to some very powerful functions 
  846. which are suitable not only for color manipulation but also for 
  847. direct picture and block manipulation.  As one of the primary 
  848. tools in CRACK ART, it should not be underestimated.
  849.  
  850. Because CRACK ART supports up to nine work screens with 
  851. individual color palettes, it is pointless to set colors from the 
  852. main menu.  Thus, the color menu is reachable only from the work 
  853. screens.  To get it, press the SPACE bar, or, with the mouse 
  854. cursor on the extreme edge of the screen, press the right mouse 
  855. button.  A pop-up menu will appear, with the 16 current colors 
  856. displayed side by side.  Above and below the color register are 
  857. arrows.  The upper arrow marks the current drawing color and the 
  858. lower one points to the so-called EXCHANGE color, which we will 
  859. cover below.  Choose the drawing color by clicking on the 
  860. register.
  861.  
  862. On the right side of the menu are sliders for the red, blue, and 
  863. green components of the drawing color.  Adjust them by clicking 
  864. on the upper or lower arrows on the sliders.
  865.  
  866. By clicking and holding on the MOVE button on the left side, you 
  867. can push the menu around the screen.
  868.  
  869. Clicking on the fill pattern box calls up another menu containing 
  870. 80 readymade fill patterns.  The current one is ringed.  Select 
  871. with the left mouse button.  The new fill pattern will be 
  872. displayed in the color menu.  
  873.  
  874. The 80 fill patterns can't be edited.  The possible fill patterns 
  875. in CRACK ART are far too numerous to be limited to 16x16 pixel 
  876. units.  Since you can use any block as a fill pattern, you don't 
  877. need to diddle with the built in patterns.
  878.  
  879. The font display box always contains the A of the current font.  
  880. For user-defined fonts, this is a useful check for the right 
  881. sizes.  Font attributes are set with the SYSTEM, EXTRA, and PROP 
  882. boxes.  The current settings are displayed in reverse video.  
  883. Change the size of the system font with the buttons marked with 
  884. left and right arrows.  These buttons have no effect on user-
  885. defined fonts.  If you choose the EXTRA option, the parameters 
  886. you set by double clicking on the TEXT icon in the main menu are 
  887. taken on here (SETTINGS).  If you then turn on PROP, the user-
  888. defined fonts are displayed as proportional fonts.
  889.  
  890.      Options for manipulating the color palette
  891. -----------------------------------------------
  892.  
  893.      Predefined Color Palettes:
  894. ----------------------------------
  895. The function keys are loaded with 20 predefined color palettes.  
  896. Palette F1 corresponds to the original ST palette and palette F2 
  897. to the preset CRACK ART palette.  Palettes F11 through F20 are 
  898. reached via SHIFT + F1 through F10.  [Nothing here about F3 thru 
  899. F10.  Try it and see.]  Many of these palettes are useful for 
  900. gray scale pictures or digitalized or scanned graphics.
  901.  
  902.      Copying a Color to Another Register
  903. ----------------------------------------
  904. If you hold the left button down on a color register, you can drag 
  905. it to another one.  When you release the button, the copying is 
  906. complete.  [Whether you can do one color at a time or the whole 
  907. register has to come, is not clear here.  Try it.]
  908.  
  909.      Swapping Two Color Registers
  910. ---------------------------------
  911. Proceed as above, but before releasing the mouse button, press 
  912. the ALT key.
  913.  
  914.      Producing a Color Sequence
  915. -------------------------------
  916. If you want a uniform or proportional color sequence between two 
  917. registers, click on one, then press ALT and click on the other.  
  918. [Which changes?  Try it.]
  919.  
  920.      Determining the Color of a Point on the Screen
  921. ----------------------------------------------------
  922. If you move the mouse pointer outside the menu boundaries, the 
  923. arrow becomes a cross hair.  Clicking the left button causes the 
  924. color of the point under the cross hair to become the current 
  925. drawing color.
  926.  
  927.      Direct Color Selection
  928. ----------------------------
  929. If you double click on one of the color registers or outside the 
  930. color menu, a raster of 16 colors appears.  The raster is 
  931. arranged in WORK SETS which are reached by COLORS.  NEOCHROME 
  932. gives you exactly the Neochrome color arrangement.  CUBE gives 
  933. you a stacked arrangement.  (The faces of an RGB cube with sides 
  934. of length eight.)  Pick your color with the tiny frame [the 
  935. cursor shape?].  When you click the left button, the new color 
  936. will be placed in the current color register [replacing what?].  
  937. The right mouse button ends the process.
  938.  
  939.      Special Functions:
  940. ------------------------
  941.  
  942. SORT:     Sorts the colors according to brightness.  The pixels 
  943. of the picture and the block will be changed accordingly.
  944.  
  945. INV:      Inverts the color palette.  If you hold the ALT key 
  946. down, a photo negative palette is created.
  947.  
  948. INV+EX:   Analogous to INV, but changes the picture, too.
  949.  
  950. STATS:    Displays a tabular overview of the picture points on 
  951. the screen or in the block, depending on whether BRUSH or BLOCK 
  952. was selected in the main menu.
  953.  
  954. EXCHANGE: Exchanges the pixel colors according to the exchange 
  955. rules set by the arrows below the color register.  If. for 
  956. example, you choose color #1 and its exchange arrow points to 
  957. color #2, color #2 will replace color #1 everywhere in the 
  958. picture or block.  You can do several colors simultaneously.  In 
  959. this way you can correct colors after swapping registers.
  960. IMPORTANT!  If you selected BLOCK in the color menu, exchanges 
  961. work only on blocks.  For this reason, EXCHANGE is a very 
  962. powerful block function.
  963.  
  964. With the following combinations (a key and the left mouse 
  965. button), no pixel exchange will occur:
  966. ALT+EXCHANGE directs all exchanges back onto themselves.
  967. SHIFT+EXCHANGE rotates all exchange colors one position to the 
  968. left.
  969. CONTROL+EXCHANGE rotates all exchange colors one position to the 
  970. right.
  971.  
  972. SET PLANES:  Enables inblending or outblending [?] of single 
  973. bitplanes via the buttons 0 through 3.  The current arrangement 
  974. of planes can be taken over with a double click on SET PLANES. 
  975. [?]  Exit by clicking the right mouse button.
  976.  
  977. BRIGHT+-: Brightens or darkens the entire color palette.
  978.  
  979. RGB+-:    Brightens or darkens the primary colors of the palette.
  980.  
  981. Most functions which alter the color palette can be undone to the 
  982. previous condition with the UNDO key.
  983.  
  984. Leave the color menu with the SPACE bar or the right mouse 
  985. button.
  986.  
  987.      Block Operations
  988. ----------------------
  989.  
  990.     - X-RAY -
  991. --------------
  992. Function:  The object mode will be set to X-RAY.
  993. Description: The function creates a mask which is transparent to 
  994. all parts of the picture containing no graphic (Color 0).  The 
  995. resulting block mode is X-RAY.
  996.  
  997.     - OBJECT -
  998. ----------------
  999. Function:  Builds an OBJECT mask for the current block.
  1000. Description: The function creates a mask which is transparent to 
  1001. all picture parts outside the block.  Parts inside the block, on 
  1002. the other hand, don't show through.  Try it with a circle.  Block 
  1003. mode afterward is OBJECT.
  1004.  
  1005.     - BLOCKED -
  1006. ------------------
  1007. Function:  Sets object mode to BLOCKED.
  1008. Description:  The function builds a rectangular mask in the size 
  1009. of the block.  The entire block region is opaque.  Block mode 
  1010. stays BLOCKED afterward.
  1011.  
  1012.     - FREE MOVE -
  1013. --------------------
  1014. Function:  Allows movement of the block till the center of the 
  1015. block reaches a screen boundary.
  1016.  
  1017.     - EDGE STOP -
  1018. -------------------
  1019. Function:  No part of the block may pass the screen boundary.
  1020.  
  1021.     - SIZE -
  1022. ------------
  1023. Function:  Changes the size of the current block.
  1024. Description:  The current block is identified in the upper left 
  1025. corner.  A frame marks the current size.  The X and Y dimensions 
  1026. of the frame are shown in the lower left corner.  Stretch the 
  1027. frame to the desired size with the mouse and left button.  UNDO 
  1028. restores the previous size.  HELP invokes interpolation during 
  1029. the size adjustment.  This filters out some of the unattractive 
  1030. patterns that occur with simple resizing routines.  The quality 
  1031. of the result is especially good in very small sizes.
  1032.  
  1033. Holding down the 
  1034.      ALT key allows only the vertical size to change;
  1035.      SHIFT key allows only the horizontal size to change;
  1036.      CONTROL key holds the aspect ratio constant.
  1037.      Right mouse button accepts the new block and takes you back 
  1038.      to the menu.
  1039. Block mode afterward is XRAY.
  1040.  
  1041.     - ROTATE -
  1042. -----------------
  1043. Function:  Rotates a block in angular steps.
  1044. Description:  The current block is displayed in the middle of the 
  1045. screen.  A frame marks the rotation position and a line from the 
  1046. center of the frame to the mouse position helps determine the 
  1047. angle, which is displayed in the lower left corner.  Turn the 
  1048. frame to rotate the block.
  1049.  
  1050. Pressing the
  1051.  
  1052.      UNDO key sets block and frame back to zero rotation;
  1053.      Left mouse button carries out the rotation;
  1054.      HELP key causes nonaliasing rotation, calculating fractional 
  1055.      degrees;
  1056.      BACKSPACE key causes modulo rotation [base 360?] and fills 
  1057.      the entire screen with the rotated block;
  1058.      Right mouse button accepts the new block and takes you back 
  1059.      to the menu, with an XRAY block mode.
  1060.  
  1061.     - H-SKEW -
  1062. -----------------
  1063. Function: Horizontal shearing of the block.
  1064. Description:  The current block is displayed in the middle of the 
  1065. screen, surrounded by a parallelogram showing the current skew 
  1066. position.  Change the parallelogram to distort the block.
  1067.  
  1068. Pressing the
  1069.      UNDO key sets the block and frame back the way they were;
  1070.      Left mouse key carries out the operation;
  1071.      Right mouse button accepts the new block and takes you back 
  1072.      to the menu with an XRAY block mode.
  1073.  
  1074.  
  1075.     - V-SKEW -
  1076. -----------------
  1077. Function: Vertical shearing of the block.
  1078. Description:  The current block is displayed in the middle of the 
  1079. screen, surrounded by a parallelogram showing the current skew 
  1080. position.  Change the parallelogram to distort the block.
  1081.  
  1082. Pressing the
  1083.      UNDO key sets the block and frame back the way they were;
  1084.      Left mouse key carries out the operation;
  1085.      Right mouse button accepts the new block and takes you back 
  1086.      to the menu with an XRAY block mode.
  1087.  
  1088.     - H-SKEW -
  1089. -----------------
  1090. Function: Horizontal shearing of the block.
  1091. Description:  The current block is displayed in the middle of the 
  1092. screen, surrounded by a parallelogram showing the current skew 
  1093. position.  Change the parallelogram to distort the block.
  1094.  
  1095. Pressing the
  1096.      UNDO key sets the block and frame back the way they were;
  1097.      Left mouse key carries out the operation;
  1098.      Right mouse button accepts the new block and takes you back 
  1099.      to the menu with an XRAY block mode.
  1100.  
  1101.     - H-PERSP -
  1102. -----------------
  1103. Function: Horizontal trapezoidal warping of the block.
  1104. Description:  The current working screen is displayed as 
  1105. background.  A trapezoid marks the current position an form of 
  1106. the block.  Change the trapezoid to determine the future 
  1107. appearance of the block.
  1108.  
  1109. Pressing the
  1110.      ALT+Left mouse button carries out the operation;
  1111.      Right mouse button takes you back to the menu with an XRAY 
  1112.      block mode.
  1113.  
  1114.     - V-PERSP -
  1115. -----------------
  1116. Function: Vertical trapezoidal warping of the block.
  1117. Description:  The current working screen is displayed as 
  1118. background.  A trapezoid marks the current position and form of 
  1119. the block.  Change the trapezoid to determine the future 
  1120. appearance of the block.
  1121.  
  1122. Pressing the
  1123.      ALT+Left mouse button carries out the operation;
  1124.      Right mouse button takes you back to the menu with an XRAY 
  1125.      block mode.
  1126.  
  1127.     - CURL -
  1128. -------------
  1129. Function:  Radial skewing of a block.
  1130. Description:  This function strongly resembles the BULGE routine 
  1131. in speed and operation.  With the mouse, you specifiy two radii, 
  1132. a starting angle, and an ending angle.  The block will be 
  1133. projected onto the specified region, whose maximimum size is a 
  1134. circle of diameter 200 pixels.
  1135.  
  1136. The right mouse button stops the operation; block mode afterward 
  1137. is OBJECT.
  1138.  
  1139. Peculiarities:  No UNDO is possible.  (Angles in the demo are 
  1140. incorrectly oriented.  From 0 to 1 is actually 0 to 359.  Try 
  1141. it.)
  1142.  
  1143.     - BULGE -
  1144. --------------
  1145. Function:  Spherical distortion of a block.
  1146. Description:  This block function is one of the most successful 
  1147. routines in the entire program in terms of speed and the results.
  1148. First, a rectangle appears.  In its upper half is shown a mirror 
  1149. symmetric filled curve.  (The size depends on the block.  Try 
  1150. some big blocks first.)  When you press the right mouse button, 
  1151. the block transformation is carried out with this function.  On 
  1152. completion, the block looks as if it had been stretched over a 
  1153. sphere.
  1154.  
  1155. If you would like to control the distortion function, you can 
  1156. alter the curve by holding the left mouse button down.  The 
  1157. height of the function is a measure of the stretching of the 
  1158. block at this point (on a circular path).  The function isn't 
  1159. followed exactly, but generally acts like a lens placed very 
  1160. close.  Experiment with middle sized to large blocks. The largest 
  1161. allowable ending block is a circle of diameter 200 pixels.  Try 
  1162. to generate curves in the form of a normal distribution.  (If you 
  1163. have trouble getting started, there is a picture on every 10 Mark 
  1164. note.) [We Yankees will have to remember the bell curve.]  The 
  1165. results will usually fit almost exactly back into the original 
  1166. picture.  If you had a colorful geometrical object there, you 
  1167. will see after the transformation how [the artist?] Vasarely 
  1168. creates his works.
  1169.  
  1170. Since the ending block mode is OBJECT it can happen that circular 
  1171. blocks sometimes have a disturbing edge.  Switch the block mode 
  1172. to XRAY or BLOCKED and generate a new mask with OBJECT.
  1173.  
  1174. Peculiarities:  No UNDO is possible.
  1175.  
  1176.     - TUBE -
  1177. ----------------
  1178. Function:  Pull the block around a tube.
  1179. Description:  With the mouse, a line drawing of the tube can be 
  1180. altered in radius and viewing angle.  
  1181.  
  1182. The function is activated with the left mouse button.  The tube 
  1183. is built from back to front.  Thereby, the rearward parts of the 
  1184. block, which would be visible from inside the tube, are darkened 
  1185. in order to give the effect of depth.  Block mode at end is XRAY.    
  1186.  
  1187. Peculiarities:  No UNDO is possible.
  1188.  
  1189.     - FIT-IN -
  1190. -----------------
  1191. Function:  Horizontal fitting of a block into an (almost) freely 
  1192. definable form.
  1193. Description:  The current screen is the background.  Specify a 
  1194. start point with the mouse cursor or abort with the right mouse 
  1195. button.  You can specify up to 9,999 more in defining your form 
  1196. (identical to cutting out with the lasso).  Click the right mouse 
  1197. button to show completion of the border, then click the left 
  1198. button either inside or outside to show which is to be used as 
  1199. the form.  (Normally inside; outside doesn't make much sense.)  
  1200. Before fitting begins, the form is made "horizontally convex."  
  1201. That is, the leftmost and rightmost points on each row of pixels 
  1202. are linked together.  Then the block is squished into the 
  1203. resulting form.  Ending block mode is OBJECT.
  1204.  
  1205. Peculiarities:  No UNDO possible.
  1206.  
  1207.     - DITHER -
  1208. ----------------
  1209. Function:  Five routines for producing a gentle color transition.
  1210. Description:  IMPORTANT:  The appearance of the resulting block 
  1211. depends on the block mode!
  1212.  
  1213. V-DITHER:  Vertical dithering.  A color sequence from top to 
  1214. bottom is produced.
  1215.  
  1216. H-DITHER:  Horizontal dithering.  A left to right color sequence 
  1217. is produced. 
  1218.  
  1219. S-DITHER:  Dithering according to arithmetic average [of what?].  
  1220. The color sequence proceeds linearly from a center outward.
  1221.  
  1222. M-DITHER:  Dithering according to root mean square [again, of 
  1223. what?].  The color sequence proceeds quadratically from a center 
  1224. outward.
  1225.  
  1226. R-DITHER:  Radial dithering, using the Euclidean norm.  The color 
  1227. sequence proceeds circularly outward from a center.
  1228.  
  1229. After selection of the desired method, a partial color menu 
  1230. appears: the 16 color registers, each with an arrow above and 
  1231. below.  The arrows can be moved with the left mouse button.  They 
  1232. can't both point to the same color.  The upper arrow points to 
  1233. the starting color - top side, left side, or center.  The lower 
  1234. arrow points to the ending color - bottom, right side, or outer 
  1235. rim.  Press the right mouse button to get things started.
  1236.  
  1237. V- and H-DITHER run in real time and start immediately.  For the 
  1238. others, the block is indicated and its size is shown with a 
  1239. rectangle.  With the left mouse button, bick a dithering center 
  1240. inside the rectangle.  The mouse cursor disappears and the 
  1241. function is carried out in the background.  (That takes a little 
  1242. while.  For R-DITHER, up to 64,000 square roots have to be 
  1243. calculated!)
  1244.  
  1245. By the way, the dither matrices are adjusted according to the 
  1246. size of the block.  If the block is too small to process with the 
  1247. specified number of colors, S-, M-, and R-Dither do nothing.  V- 
  1248. and H-Dither will return the pure colors in lines.  Each routine 
  1249. has three dither matrix sizes available.  That gives up to 64 
  1250. steps between two colors!
  1251.  
  1252. The actual dithering is carried out differently according to the 
  1253. block mode.  If the mode is BLOCKED, you get a dithered 
  1254. rectangle.  For X-RAY, the color run is visible only where there 
  1255. is a graphic.  That is, an empty block still looks empty and will 
  1256. therefore be shrunk to 1*1 pixels!
  1257.  
  1258. Try R-DITHER with a predefined palette on a circular block in X-
  1259. RAY mode. (See DEMO/DEMO3.CA1)
  1260.  
  1261.     - CUT -
  1262. ----------------
  1263. Function:  Minimize X and Y spread of the block.
  1264. Description:  The block is trimmed by removal of empty edges.
  1265. Limitations:  Doesn't work with block mode OBJECT.  This function 
  1266. is on the HELP key in the working screen.
  1267.  
  1268. Other block functions in the working screen:
  1269. --------------------------------------------
  1270.  
  1271. Key: BACKSPACE
  1272. --------------
  1273. Function:  Turns block 90 degrees to the right.
  1274.  
  1275. Description:  The current block is rotated 90 degrees clockwise.  
  1276. This is quicker than calling up the menu and specifying 270 
  1277. degrees (counterclockwise).  The block doesn't rotate about its 
  1278. center point, but rather so that its left edge ends up on top.  
  1279. Pixels with X coordinate greater than 199 will be clipped by the 
  1280. lower screen edge and lost.  If you want to preserve the right 
  1281. edge, flip the block with the cursor keys, then turn it.
  1282.  
  1283. Key: RETURN
  1284. -----------
  1285. Function:  Sets the block to the current color palette.
  1286.  
  1287. Description:  Should the block come from a work screen with 
  1288. another color palette, you can try to reset the colors to conform 
  1289. to the current palette.  The function tries to maintain as much 
  1290. as possible of the original colors and brightnesses.
  1291.  
  1292. Key:  Cursor Keys
  1293. ------------------
  1294. Function:  Block flipping.
  1295.  
  1296. Description:  The block and mask are flipped in the direction 
  1297. indicated by the cursor key.
  1298.  
  1299.      The Magnifying Glass
  1300. ----------------
  1301.  
  1302. In the top row of the main menu is a button called WORK SETS.  
  1303. With this button, it is also possible to specify parameters for 
  1304. the magnifying glass.  Clicking on the button brings up a dialog
  1305. box on  which the parameters Preview Zoom and Zoom Grid can be
  1306. turned on or off.  Preview Zoom means that when you choose a
  1307. segment to enlarge, a real-time magnifying glass is displayed. 
  1308. The  portion of the picture under the magnifying glass is
  1309. enlarged fourfold.  The 12x12 magnifying glass (F10) enlarges 16
  1310. fold.  By the way, it is possible to traverse the edges of the
  1311. picture with this magnifying glass, unlike a well known
  1312. monochrome drawing program whose magnifying glass stops at the 
  1313. edges.  The real time magnifying glass works in all 10
  1314. enlargements.  If you turn it off, you get a crosshatched region
  1315. marking the region to enlarge.
  1316.  
  1317. With the Zoom Grid option, the individual pixels are marked by a 
  1318. grid in the background color.  They're a little easier to 
  1319. distinguish this way.  If you turn the option off, no grid is 
  1320. drawn.
  1321.  
  1322. How Can I Call Up the Magnifying Glass?
  1323. ----------------------------
  1324.  
  1325. If you are in the working screen, you call up the ten enlargement
  1326. levels with the function keys.  Enlargements run from 3*3 (F1)
  1327. to 12*12 (F10).  Depending on the parameter values specified,
  1328. the real time magnifying glass is on the function keys and the
  1329. frame is on the shifted function keys (Preview Zoom On) or vice
  1330. versa (Preview Zoom Off).  Both options are always available. 
  1331. Once you've chosen which preview mode you're in, you can change
  1332. enlargements without the SHIFT key.  The right mouse button puts
  1333. you back in normal drawing mode.
  1334.  
  1335. Choose the picture segment you want to enlarge and press the left 
  1336. mouse button to display the enlargement.  You find yourself in 
  1337. the actual magnifying glass.
  1338.  
  1339.      On the Construction of the Magnifying Glass
  1340. ---------------------------------------
  1341.  
  1342. In the left part of the screen you will see a crosshatched, 
  1343. rectangular section of the working screen, which marks the 
  1344. enlarged area.  The current color palette is above, with the 
  1345. current color marked with an arrow.  Next to the color menu on 
  1346. the right are four arrows.  By left clicking on one of them, you 
  1347. can cause the working area of the magnifying glass to move in
  1348. that direction by 50% of the extent of the magnifying glass in
  1349. that direction.  The cursor keys function the same way.  At the
  1350. top right of the screen is a narrow box with which you can
  1351. toggle the Zoom Grid without leaving the magnifying glass.  The
  1352. actual magnifying glass is at the lower right.
  1353.  
  1354. On the Functions in the Magnifying Glass
  1355. ------------------------------
  1356.  
  1357. The magnification can be changed at any time by pressing a 
  1358. function key.  The center always stays in the magnified area.  
  1359. You can pick a new center by left clicking in the original 
  1360. picture.  The magnifying glass and the little frame will follow. 
  1361. Abandon the magnifying glass by right clicking outside the
  1362. magnified area.
  1363.  
  1364. You can change the current color by left clicking in the color 
  1365. palette or by right clicking in the magnified area.  The second 
  1366. method allows the current color of magnified sections to be 
  1367. changed quickly without constantly having to run back to the 
  1368. color palette.  As fast as you left click on a pixel in the 
  1369. magnified view, the original is also changed.  You can change it 
  1370. back with the UNDO key and change it back again with a second 
  1371. press of the UNDO key.
  1372.  
  1373. You can also cut out rectangular blocks from inside the
  1374. magnifying glass.   Press the ESCAPE key and a double cross hair
  1375. appears.  Mark a corner of the block with it.  The procedure
  1376. then is the same as the normal cutting of a rectangular block,
  1377. except the fram is doubled.  If you hold down the ALT key when
  1378. you releas the mouse button, the block will be erased from the
  1379. magnifying glass.  The UNDO key restores it.  The block can be
  1380. used only in the working screen.
  1381.  
  1382. To save tedious painting in the magnifying glass, you can fill
  1383. the whole  area at once by holding the ALT key down while
  1384. pressing the left mouse button anywhere in the magnified region.
  1385. The area will be filled with the current drawing color.
  1386.  
  1387.  
  1388.      Disk Operations
  1389. -----------------------------------------------------------------
  1390.  
  1391.      General
  1392. -----------------------------------------------------------------
  1393. Disk access is gained via the little diskettes (3.5" and azure 
  1394. blue, naturally) on the menu.
  1395.  
  1396. LOAD           Load a picture
  1397. SAVE           Save a picture
  1398. SHOW           Slide show [In German: Slide Show]
  1399. DISK MENU      Disk info / Delete a file / Virus test / Format
  1400. CRACK FILE     Look for picture data and sprites in files
  1401. CRACK DISK     Look for picture data on disk tracks or sectors
  1402.  
  1403. These six functions can be called from the menu via the function 
  1404. keys F1 thru F6.  Most diskette operations call up a file 
  1405. selector box.
  1406.  
  1407.      The Layout of the File Selector Box
  1408. -----------------------------------------------------------------
  1409. The upper line displays the current path, or the end of it if 
  1410. it's longer than the space provided.  The next line contains 
  1411. values for the number of files meeting the search criterion (file 
  1412. extension), the number of bytes in these files, an on-off button 
  1413. for disk verify, and the search criterion itself.  The search 
  1414. criterion cannot be edited.  Rather, you can choose the current 
  1415. one or *.* during LOAD and SAVE.
  1416.  
  1417. In the next line are two buttons, BACK and REREAD.  Use BACK to 
  1418. return to the next higher directory.  REREAD causes the directory 
  1419. to be read again.
  1420.  
  1421. Shown below BACK and REREAD are up to 12 file and/or folder 
  1422. names.  Behind the files is their length in bytes while folders 
  1423. are marked by FOLDER in blue.  With the slider on the right, you 
  1424. can move the window to display other files and folders (in real 
  1425. time!).  Clicking on the arrows at the top and bottom of the 
  1426. slider bar causes the same action, but stepwise.  A vertical line 
  1427. under the slider shows your relative position in the current 
  1428. folder or disk.
  1429.  
  1430. On the right side are up to 16 diskette symbols labeled A thru P, 
  1431. representing the floppy drives and hard disk partitions on your 
  1432. system.  The active drive is red and all others are blue.  Switch 
  1433. between drives by left clicking on the one you want.  Clicking 
  1434. the right mouse button on a drive symbol causes a display of the 
  1435. current path, the number of bytes used on the disk, and the 
  1436. number of bytes free on the disk.  If you have but one floppy 
  1437. drive and no hard drive, only Drive A is shown and the imaginary 
  1438. Drive B is not depicted.
  1439.  
  1440. During LOAD and SAVE operations, right clicking in the file 
  1441. display window allows you the choice of 25 different picture 
  1442. formats.  A menu of picture types appears, showing the usual 
  1443. extenders.  Each button on the menu is marked with a three 
  1444. character extender and below the button is a U or a C for 
  1445. uncompressed or compressed.
  1446.  
  1447. Picture Formats:
  1448. ----------------------------------------------------------------
  1449. Once you choose a picture format, the customary extender for that 
  1450. type is used for the file search extender.  That way, you can use 
  1451. any extender you want and let Crack Art keep track of the types.  
  1452. For example, a compressed picture in Degas format doesn't have to 
  1453. have the extender 'PI1' to be loaded as a Degas picture.  Of 
  1454. course, you have to set the search extender to *.* to bring the 
  1455. file name into the selector box.  Just click on it and remember 
  1456. that the search extender and the actual extender are two separate 
  1457. critters.
  1458.  
  1459. EXT Origin             Resolution               Compression
  1460. -----------------------------------------------------------------
  1461. CA1 CRACK ART           LowRes            compressed/uncompressed
  1462. CA2                     MidRes
  1463. CA3                     HighRes
  1464. IC1 IMAGIC              LowRes            compressed/uncompressed
  1465. IC2                     MidRes
  1466. IC3                     HighRes
  1467. PC1 DEGAS               LowRes                  compressed
  1468. PC2                     MidRes
  1469. PC3                     HighRes
  1470. PI1 DEGAS               LowRes                  uncompressed
  1471. PI2                     MidRes
  1472. PI3                     HighRes
  1473. PAC STAD                HighRes                 compressed
  1474. PIC SCREEN              Low/Mid/HighRes/VGA     uncompressed
  1475. CMP F.Mathy             Low/Mid/HighRes         compressed
  1476. SPU SPECTRUM 512        320*199                 uncompressed
  1477. SPC                     320*199                 compressed
  1478. ART ARTDIRECTOR         LowRes                  uncompressed
  1479. NEO NEOCHROME           LowRes                  uncompressed                
  1480. IFF AMIGA               320*200 4/5/(6)Planes   compressed/unc.
  1481. IMG GEM                 monochrome              compressed
  1482.  
  1483. ----------------------------------------------------------------
  1484.      - LOAD - (F1)
  1485. ----------------------------------------------------------------
  1486. Once you find the file you want in the format you want, it's 
  1487. loaded into the current screen if the screen happens to be 
  1488. unoccupied.  Otherwise, Crack Art looks for an empty screen and 
  1489. if it finds one, asks you via an alert box whether you want to 
  1490. load into the current screen or the empty screen.  If all screens 
  1491. are occupied, Crack Art asks whether you really want to overwrite 
  1492. the current screen.  If difficulties crop up during loading, 
  1493. Crack Art tries to load as much information as possible.
  1494.  
  1495. Special Handling of Other Picture Formats and/or Resolutions:
  1496. ----------------------------------------------------------------
  1497. LowRes pictures are loaded without any processing or conversion.  
  1498. MidRes pictures are mapped into ten colors and appear exactly as 
  1499. in medium resolution.  Monochrome pictures can be converted by 
  1500. either of two ways.  After loading, the program asks whether you 
  1501. want to keep the entire picture (WHOLE) or a part (SPECIAL).  If 
  1502. you choose WHOLE, the picture is rendered in five shades of gray.  
  1503. If you choose SPECIAL, the entire picture is displayed and you 
  1504. can cut a 320*200 pixel section out of the 640*400 original.  The 
  1505. section then takes over the 640*400 pixels of the original, but 
  1506. as a color picture, and only one fourth of the original shows on 
  1507. the screen.  No gray scale is generated.
  1508.  
  1509. SPECTRUM 512:
  1510. ---------------------------------------------------------------- 
  1511. SPECTRUM 512 pictures offer still more choices.  After the 
  1512. picture is loaded, the user is asked how he wants the color 
  1513. palette matching to proceed.  
  1514.  
  1515. WHOLE uses the entire picture as a basis for conversion.  
  1516.  
  1517. SPECIAL lets you match rectangular sections of the picture one at 
  1518. a time to get a better match.  In the latter case, the picture is 
  1519. shown as a SPECTRUM 512 original in its original colors!!!  
  1520. Regrettably, we had to disable the mouse here in order not to 
  1521. disturb the interrupt-driven construction of the picture.  
  1522. Therefore, you move the crosshairs with the cursor keys.  One 
  1523. press moves the crosshairs eight pixels.  Shifted cursor keys 
  1524. move the crosshairs one pixel.  Mark one corner with the HELP 
  1525. key, then mark the opposite.  Everything outside the rectangle is 
  1526. erased and the color palette is adjusted according to what is 
  1527. inside the rectangle.  That done, the entire picture is redrawn 
  1528. with this palette.  (Every conversion takes three seconds on the 
  1529. ST, while the conversion program SPECDEG.TTP needs 16 seconds!!!)  
  1530. In this way, it is possible to hold nearly the original colors in 
  1531. various parts of the picture.  
  1532.  
  1533. CURRENT uses the current color palette for the conversion.  
  1534. Regardless of conversion, you will need every byte of memory.  
  1535. Thus, you might lose a block mask definition as Crack Art tries 
  1536. to make more space.  The block mode after loading a SPECTRUM 512 
  1537. picture is always XRAY.  
  1538.  
  1539. IFF Format
  1540. ----------------------------------------------------------------
  1541. CRACK ART loads IFF packed pictures with resolutions of 320*200 
  1542. pixels in 16 (4 bitplanes) and 32 (5 bitplanes) colors without 
  1543. problems.  Pictures with 64 colors (6 bitplanes) in Amiga Half-
  1544. Bright mode are not included.  The program can convert them, 
  1545. however.  (But not quite right. - Roy)
  1546.  
  1547. Hold-and-Modify pictures are read with no problems, but the 
  1548. conversion is carried out for the half bright mode.  Sorry!
  1549.  
  1550. -----------------------------------------------------------------
  1551.      - SAVE - (F2)
  1552. ----------------------------------------------------------------
  1553.  
  1554. If you're ready to save the picture on your screen, pick SAVE 
  1555. from your menu and then choose the format from your PIC TYPE 
  1556. menu.  Choose the floppy drive or hard drive partition as 
  1557. described above.  You then have the opportunity, by double 
  1558. clicking on a name in the file selector box, to save under that 
  1559. name, or you can type in a new name.  (As already mentioned, 
  1560. extenders are arbitrary, but they should nonetheless at least 
  1561. suggest the format.)  If you elect to overwrite an existing file, 
  1562. CRACK ART will ask whether you're sure.
  1563.  
  1564. Conversions:
  1565.  
  1566. ----------------------------------------------------------------
  1567. Medium resolution pictures are stored in four levels of gray.  
  1568. High resolution pictures are transformed into 22 gray patterns.  
  1569. The conversion of the colors into gray patterns cane be done 
  1570. linearly with the option BRIGHTNESS, quadratically with the 
  1571. option COLORS, or by the FLOYD-STEINBERG method.  Quadratic 
  1572. increases the contrast.  FLOYD STEINBERG yields the best results.  
  1573. The gray levels can be stored as genuine patterns (PATTERN) or 
  1574. with error diffusion (RANDOM).  RANDOM produces softer sequences.
  1575.  
  1576. ----------------------------------------------------------------
  1577.      - SHOW - (F3)
  1578. ----------------------------------------------------------------
  1579. Slide show down a path you select in the file selector box.  
  1580. Lower folders are recursively (Yes, we can do that, too.) 
  1581. searched.  Variable control modes and effects.
  1582.  
  1583. -----------------------------------------------------------------
  1584.       - DISK MENU - (F4)
  1585. -----------------------------------------------------------------
  1586.      [1] INFO       Brief info about the floppy drive(s).
  1587.      [2] VIRUS      Boot virus test.
  1588.      [3] DELETE     Here files can be nibbled into the eternal 
  1589.                     bit heaven.  No entire directories, please.
  1590.      [4] FORMAT     Should you ever find yourself in the 
  1591.                     unfortunate situation of having no disk for 
  1592.                     your latest masterpiece, help is here!  CRACK 
  1593.                     ART can format either single or double sided 
  1594.                     disks with 80 or 82 tracks.  Make your 
  1595.                     choices in the dialog box.  Once you've made 
  1596.                     your choices, formatting begins with no more 
  1597.                     questions.  A graphic (prepare to be 
  1598.                     surprised) depiction of the process appears.  
  1599.                     If disk problems occur, their form is 
  1600.                     reported and control returned to the user.  
  1601.                     The disk name is generated from the format 
  1602.                     mode:
  1603.  
  1604.                     CRACKART.SS    Single sided, 80 tracks
  1605.                             .SS+   Single sided, 82 tracks
  1606.                             .DS    Double sided, 80 tracks
  1607.                             .DS+   Double sided, 82 tracks
  1608.  
  1609.                     An antivirus program is written in the boot 
  1610.                     sector.  On bootup, it prints the message, 
  1611.                     'ANTI VIRUS BOOTER © BY JAYBEE 1991 and emits 
  1612.                     an unmistakable acoustic signal.  (One 
  1613.                     doesn't have to stare stupidly at the screen 
  1614.                     any more while he daydreams.)
  1615.  
  1616. -----------------------------------------------------------------
  1617.      - CRACK FILE - (F5)
  1618. ----------------------------------------------------------------
  1619.  
  1620. The graphic file monitor.  It can search through files looking 
  1621. for graphic data and palettes.  Its method is complicated and 
  1622. won't be explained here.  The function is, however, fully 
  1623. implemented.
  1624.  
  1625. Tip:  Loading goes twice as fast from even offsets.
  1626.  
  1627. Remarks:  For safety's sake, SAVE requires a double click.
  1628.  
  1629. ----------------------------------------------------------------
  1630.      - CRACK DISK - (F6)
  1631. ----------------------------------------------------------------
  1632.  
  1633. The graphic disk monitor.  It can search through disks looking 
  1634. for graphic data and palettes.  Before using it, check the 
  1635. parameters (sides, tracks, sectors) under DISK INFO in the DISK 
  1636. MENU.  The method used by CRACK DISK is complicated and won't be 
  1637. explained here.  The function is, however, fully implemented.
  1638.  
  1639. ----------------------------------------------------------------
  1640.      - EFFECTS -
  1641. ----------------------------------------------------------------
  1642.  
  1643. The EFFECTS button in the menu offers access to additional 
  1644. picture processing functions, which can't be reached from the 
  1645. keyboard.  (42. The answer to every question!)
  1646.  
  1647. After selection of the button, the current screen is displayed.  
  1648. On its right side is the menu for the various effects.  The menu 
  1649. is divided into names and numbers.  The numbers represent the 
  1650. working screens.  Clicking on a number switches you to that 
  1651. screen.  Titled fields initiate functions.  Holding [left mouse 
  1652. key on?] the SHOW field displays the entire screen.
  1653.  
  1654. For all functions, the UNDO key undoes the last operation.  The 
  1655. working screen and color palette are restored.  However, if you 
  1656. switch to another screen before trying to UNDO, you're committed.  
  1657. All changes are permanent once you switch.
  1658.  
  1659. Return to the main menu with the right mouse button.
  1660.  
  1661. ----------------------------------------------------------------
  1662.      Effects Functions
  1663. ----------------------------------------------------------------
  1664.  
  1665.           - ANTI 4 -
  1666. ----------------------------------------------------------------
  1667. Function:  Antialiasing function using four surrounding points.
  1668.  
  1669. Description:  After ANTI 4 is selected, the entire screen is 
  1670. processed from top to bottom.  Multiple applications of the 
  1671. function bring other results.
  1672.  
  1673. Remarks:  Since the function considers only four surrounding 
  1674. points, it works less finely than the ANTI 8 function.  Heavy 
  1675. application of ANTI 4 to a detail-rich picture is a kind of tone
  1676. separation.  The antialiasing function works best on color 
  1677. palettes with the maximum possible levels of a color.
  1678.  
  1679.  
  1680.           - ANTI 8 -
  1681. ----------------------------------------------------------------
  1682. Function:  Antialiasing function using eight surrounding points.
  1683.  
  1684. Description:   Identical to ANTI 4.
  1685.  
  1686. Remarks:  The consideration of eight surrounding points yields a 
  1687. somewhat finer effect.  The algorithm works somewhat more slowly 
  1688. toward the above-mentioned tone separation.  On thinly populated 
  1689. pictures, though, you will see a rapid development of the details 
  1690. toward the surrounding color.
  1691.  
  1692.  
  1693.           - ROUND -
  1694. ---------------------------------------------------------------
  1695. Function:  Rounds corners off.
  1696.  
  1697. Description:  The ROUND function resembles the ANTI 4 function 
  1698. except that it operates only on pixels that form corners in the 
  1699. usual sense.  Repeated application makes sense.
  1700.  
  1701. Remarks:  The function is handy for enlargements, where you want 
  1702. to smooth out the lumpiness.  Repeated application tends toward 
  1703. 45-degree corners.
  1704.  
  1705.  
  1706.           - REL M -
  1707. ---------------------------------------------------------------
  1708. Function:  Transforms a color picture into a relief picture with 
  1709. three levels of gray.
  1710.  
  1711. Description:  REL M process the picture diagonally from the lower 
  1712. left, using a very simple process:  The higher the color number 
  1713. of the pixel, the longer the shadow.  To be sure, we allow for 
  1714. such trivialities as plateau formation and sudden edges.  The 
  1715. result has a palette of eight shades of gray, the minimum to 
  1716. produce the effect properly.  Shadows are shown in color 0 
  1717. (black), plateaus in color 4 (gray), and highlights in color 7 
  1718. (white).
  1719.  
  1720. Remarks:  The results obtained with this function depend in 
  1721. strong measure on the arrangement of the colors in the original 
  1722. palette.  The best results come from an arrangement according to 
  1723. brightness.  Whether the relief bulges out or dishes in can be 
  1724. controlled.  See SORT, INVERT, and EXCHANGE in the color menu.  
  1725. Since the color palette contains intermediate levels in addition 
  1726. to the three required colors, it can make sense to run the result 
  1727. through one of the antialiasing functions.  That usually produces 
  1728. a better looking picture.  You can control the shadow direction 
  1729. by flipping the screen first.  (That's a screen function.)
  1730.  
  1731.           - REL C -
  1732. ----------------------------------------------------------------
  1733. Function:  Produces a psuedorelief.
  1734.  
  1735. Description:  The function works similarly to REL M.  Pixels are 
  1736. darkened where shadows fall, highlights are brightened, and 
  1737. plateaus stay the same.
  1738.  
  1739. Remarks:  Operation is identical to REL M.
  1740.  
  1741.  
  1742.           - GREY -
  1743. ----------------------------------------------------------------
  1744. Function:  Converts a picture into eight levels of gray.
  1745.  
  1746. Description:  The colors are converted into gray values according 
  1747. to their brightness and the pixels set accordingly.
  1748.  
  1749. Remarks:  You can also mix pictures with different color 
  1750. palettes.  The algorithm is still being changed.
  1751.  
  1752.           - RES 2 -
  1753. ----------------------------------------------------------------
  1754. Function:  Reduces the resolution of a picture to one fourth.
  1755.  
  1756. Description:  Out of 2*2 pixel regions, the function takes the 
  1757. color of the upper left pixel and replaces the colors of the 
  1758. other three with it.  Repeated applications bring no further 
  1759. change.
  1760.  
  1761. Remarks:  This function yields amazing effects in combination 
  1762. with REL M, REL C, OUT 4, OUT 8, and EDGE (Which see).
  1763.  
  1764.  
  1765.           - RES 4 -
  1766. ----------------------------------------------------------------
  1767. Function:  Reduces the resolution of a picture to one sixteenth.
  1768.  
  1769. Description:  Results as from RES 2, only more abstract.
  1770.  
  1771.  
  1772.           - PIXEL -
  1773. -----------------------------------------------------------------
  1774. Function:  Coarsens the resolution to a 2*2 pixel basis.
  1775.  
  1776. Description:  Results are similar to those from RES 2, except 
  1777. that less information is lost because nine original pixels go 
  1778. into the calculation of the new 2*2 pixel rectangle.
  1779.  
  1780. Remarks:  Only unimportant changes result from repeated 
  1781. applications.  Quartering the picture with SIZE is no better than 
  1782. HELP with SIZE.  (It's logical, no?)
  1783.  
  1784.           - OR -
  1785. ----------------------------------------------------------------
  1786. Function:  Produces a mask from the graphic data.
  1787.  
  1788. Description:  All pixels with a nonzero color number are set to 
  1789. color 15.  Repeated application yields no further change.
  1790.  
  1791. Remarks:  This function is handy for masking out particular 
  1792. graphic regions with the help of the block operations.
  1793.  
  1794.  
  1795.           - MASK -
  1796. ----------------------------------------------------------------
  1797. Function:  Produces an inverse mask from the graphic data.
  1798.  
  1799. Description:  All pixels with a color number of zero are set to 
  1800. color 15 and all other pixels are erased.  The result is the 
  1801. inverse of BLUE.  Repeated application toggles the mask back and 
  1802. forth.  Two applications are identical to one OR.
  1803.  
  1804. Remarks:  Use is just like OR.
  1805.  
  1806.  
  1807.           - SEPARATE -
  1808. ----------------------------------------------------------------
  1809. Function:  Erases pixels which match those in a second screen.  
  1810.  
  1811. Description:  If SEPARATE is clicked, the symbols for all 
  1812. occupied screens are shown reversed in order to show that further 
  1813. choices follow.  Clicking on one of the screen symbols selects 
  1814. that one to compare against the active screen.  The operation is 
  1815. carried out according to the rule, "Erase all pixels from the 
  1816. active screen which agree with the corresponding pixel on the 
  1817. comparison screen."  The comparison screen is not altered.  The 
  1818. pixel count on the active screen will not increase.
  1819.  
  1820. Remarks:  The function is handy during development of graphics to 
  1821. see what was changed from one step to the next.  Partial 
  1822. antialiasing etc are easy afterwards.
  1823.  
  1824.  
  1825.           - OUT 4 -     
  1826. ----------------------------------------------------------------
  1827. Function:  Leaves the boundaries of filled areas, referring to 
  1828. four neighbors.
  1829.  
  1830. Description:  The inner regions of filled areas are erased, 
  1831. leaving only the boundaries.
  1832.  
  1833. Remarks:  Complementary function to EDGE.  Also produces 
  1834. astounding results in combination with RES 2, RES 4, PIXEL, REL 
  1835. M, and REL C.
  1836.  
  1837.  
  1838.           - OUT 8 -     
  1839. -----------------------------------------------------------------
  1840. Function:  Leaves the boundaries of filled areas, referring to 
  1841. eight neighbors.
  1842.  
  1843. Description:  Same as OUT 4.
  1844.  
  1845. Remarks:  Produces astounding results in combination with RES 2, 
  1846. RES 4, PIXEL, REL M, and REL C.
  1847.  
  1848.           - EDGE - 
  1849. ----------------------------------------------------------------
  1850. Function:  Erases the boundaries of filled areas.
  1851.  
  1852. Description:  The edges of filled areas are erased.  Thus, it is 
  1853. possible to separate adjacent areas.
  1854.  
  1855. Remarks:  Complementary function to OUT 4.
  1856.  
  1857.  
  1858.           - MED- -
  1859. ----------------------------------------------------------------
  1860. Function:  Median filtering with slight darkening.
  1861.  
  1862. Description:  The RGB values of five pixels are sorted separately 
  1863. and the second darkest are used.  [Which five?]
  1864.  
  1865. Remarks:  Belongs to the group ERO, MED-, MED, MED+, DILAT.
  1866.  
  1867.  
  1868.           - MED -
  1869. ----------------------------------------------------------------
  1870. Function:  Median filtering.
  1871.  
  1872. Description:  The RGB values of five pixels are sorted separately 
  1873. and the middle values are used.  [Which five?]
  1874.  
  1875. Remarks:  Belongs to the group ERO, MED-, MED, MED+, DILAT.
  1876.  
  1877.  
  1878.           - MED+ -
  1879. ----------------------------------------------------------------
  1880. Function:  Median filtering with slight lightening.
  1881.  
  1882. Description:  The RGB values of five pixels are sorted separately 
  1883. and the second brightest are used.  [Which five?]
  1884.  
  1885. Remarks:  Belongs to the group ERO, MED-, MED, MED+, DILAT.
  1886.  
  1887.  
  1888.           - ERO -
  1889. ----------------------------------------------------------------
  1890. Function:  Erosion.
  1891.  
  1892. Description:  The RGB values of five pixels are sorted separately 
  1893. and the darkest values are used.  [Which five?]
  1894.  
  1895. Remarks:  Belongs to the group ERO, MED-, MED, MED+, DILAT.
  1896.  
  1897.  
  1898.           - CONTR -
  1899. -----------------------------------------------------------------
  1900. Function:  Contrast enhancement.
  1901.  
  1902. Description:  If a pixel is lighter than its eight neighbors, it 
  1903. is darkened and vice versa.
  1904.  
  1905. Remarks:  Makes barely perceptible color differences easier to 
  1906. see.
  1907.  
  1908.           - DILAT -
  1909. ----------------------------------------------------------------
  1910. Function:  Dilatation
  1911.  
  1912. Description:  The RGB values of five pixels are sorted separately 
  1913. and the brightest values are used.  [Which five?]
  1914.  
  1915. Remarks:  Belongs to the group ERO, MED-, MED, MED+, DILAT.
  1916.  
  1917.  
  1918.           - UNZAG -
  1919. ----------------------------------------------------------------
  1920. Function: Rounding edges off.
  1921.  
  1922. Description:  The UNZAG function resembles the ROUND function.  
  1923. The operation here, however, is restricted to the pixels which 
  1924. form a 45 degree edge.
  1925.  
  1926. Remarks:  Very limited applicability.
  1927.  
  1928.  
  1929.           - H-SHAT -
  1930. ----------------------------------------------------------------
  1931. Function: Horizontal fraying of the picture.
  1932.  
  1933. Description:  The positions of each pair of horizontally adjacent 
  1934. pixels are switched.
  1935.  
  1936. Remarks:  This function is reversible.  See V-SHAT.
  1937.  
  1938.  
  1939.           - V-SHAT -
  1940. ----------------------------------------------------------------
  1941. Function: Vertical fraying of the picture.
  1942.  
  1943. Description:  The positions of each pair of vertically adjacent 
  1944. pixels are switched.
  1945.  
  1946. Remarks:  This function is reversible.  See H-SHAT.
  1947.  
  1948.  
  1949.            - MINI -
  1950. ----------------------------------------------------------------
  1951. Function:  Calculate a mini picture.
  1952.  
  1953. Description:  The picture is converted into a grayscale picture 
  1954. of 80*50 pixels.
  1955.  
  1956. Remarks:  This function is used in the main menu to make the 
  1957. overviews.
  1958.  
  1959.  
  1960.           - RED -
  1961. ----------------------------------------------------------------
  1962. Function:  Pull the red out of a picture.
  1963.  
  1964. Description:  The red values of the pixels are presented as a 
  1965. grayscale picture.  The color palette ends up as gray and red.
  1966.  
  1967. Remarks:  Belongs to the group RED, GREEN, BLUE.
  1968.  
  1969.  
  1970.           - GREEN -
  1971. ----------------------------------------------------------------
  1972. Function:  Pull the green out of a picture.
  1973.  
  1974. Description:  The green values of the pixels are presented as a 
  1975. grayscale picture.  The color palette ends up as gray and green.
  1976.  
  1977. Remarks:  Belongs to the group RED, GREEN, BLUE.
  1978.  
  1979.  
  1980.           - BLUE -
  1981. ----------------------------------------------------------------
  1982. Function:  Pull the blue out of a picture.
  1983.  
  1984. Description:  The blue values of the pixels are presented as a 
  1985. grayscale picture.  The color palette ends up as gray and blue.
  1986.  
  1987. Remarks:  Belongs to the group RED, GREEN, BLUE.
  1988.  
  1989.  
  1990.           - MID -
  1991. ----------------------------------------------------------------
  1992. Function:  Convert from medium to low resolution.
  1993.  
  1994. Remarks:  See CRACK FILE and CRACK DISK.
  1995.  
  1996.  
  1997.           - HI -
  1998. ----------------------------------------------------------------
  1999. Function:  Convert from high to low resolution.
  2000.  
  2001. Remarks:  See CRACK FILE and CRACK DISK.
  2002.  
  2003.  
  2004.           - TILE -
  2005. ----------------------------------------------------------------
  2006. Function: Tesselate the screen with a rectangular section of the 
  2007. picture.
  2008.  
  2009. Description:  After you click on the menu field, use the 
  2010. crosshair which appears to cut a rectangle out of the picture 
  2011. (exactly like cutting out a block).  Position and size of the 
  2012. block appear as usual in the lower left corner.  The cutout is 
  2013. then used like tiles to cover the entire screen.  Cutouts along 
  2014. the right edge and bottom of the screen are clipped if necessary.
  2015.  
  2016. Remarks:  This routine is very well suited for developing 
  2017. animations from a basic pattern.  It is also applicable to the 
  2018. drawing routines which use blocks as fill patterns.
  2019.  
  2020.  
  2021.           - H-FREE -
  2022. ----------------------------------------------------------------
  2023. Function:  Horizontal displacement of screen lines.
  2024.  
  2025. Description:  The button enables a free displacement of individual 
  2026. screen lines through use of the cursor.  Once the button is 
  2027. clicked on, a vertical reference line appears in the middle of the 
  2028. screen.  This is your zero.  Click and hold on any pixel in this 
  2029. line and you can drag it left or right as you wish.  Wherever you 
  2030. leave this pixel is the new zero for that line.  Work your way up 
  2031. and down the screen, setting offsets where you will.  When you 
  2032. click on the right mouse button, the displacements are carried out 
  2033. and you find yourself back in the effects menu.
  2034.  
  2035.  
  2036.           - H-SIN -
  2037. ----------------------------------------------------------------
  2038. Function:  Horizontal sinusoidal displacement of screen lines.
  2039.  
  2040. Description:  Once this button is clicked on, a vertical reference 
  2041. line appears in the center of the screen, along with a frame whose 
  2042. dimensions are displayed in the lower left corner.  Use the frame 
  2043. to set the size of a half-period sine wave (Think of a fat man's 
  2044. belly just touching the three sides of the frame.).  Click the 
  2045. left [So it reads.  This may be a typo.] mouse button to execute.  
  2046. The result is a bowed or wavy picture.
  2047.  
  2048.  
  2049.           - H-ZIG -
  2050. ----------------------------------------------------------------
  2051. Function:  Horizontal triangular (zig-zag) displacement of screen 
  2052. lines.
  2053.  
  2054. Description:  Analogous to H-SIN except that here a sawtooth wave 
  2055. is used.  The result is a kinked or zig-zag picture.
  2056.  
  2057. Remarks:  Choosing a tiny frame, say 1*1 pixel, causes light smear 
  2058. effects which look different from those created with H-SHAT.
  2059.  
  2060.  
  2061.           - V-FREE -
  2062. ----------------------------------------------------------------
  2063. Function:  Vertical displacement of screen columns.
  2064.  
  2065. Description:  Analogous to H-FREE.
  2066.  
  2067.  
  2068.           - V-SIN -
  2069. ----------------------------------------------------------------
  2070. Function:  Vertical sinusoidal displacement of screen columns.
  2071.  
  2072. Description:  Analogous to H-SIN.
  2073.  
  2074.  
  2075.           - V-ZAG -
  2076. ----------------------------------------------------------------
  2077. Function:  Vertical triangular displacement of screen columns.
  2078.  
  2079. Description:  Analogous to H-ZIG.
  2080.  
  2081. ----------------------------------------------------------------
  2082.      END OF EFFECTS
  2083. ----------------------------------------------------------------
  2084.  
  2085.  
  2086.      SWITCHING BETWEEN 50 AND 60 HZ.
  2087. ----------------------------------------------------------------
  2088. If this icon is selected, the user is asked if he really wants to 
  2089. switch the monitor frequency.  Some monitors, especially TVs, 
  2090. don't tolerate 60 Hz well, therefore the special warning.  [German 
  2091. house current is 220V, 50Hz.]  This option doesn't work on TTs.
  2092.  
  2093. ----------------------------------------------------------------
  2094.      Animate
  2095. ----------------------------------------------------------------
  2096. Here we finally explain the blue light diodes.  (Do you have any 
  2097. idea how expensive blue LEDs are?  Up to DM20 [approx $13] each!  
  2098. But only the best is good enough for CRACK ART!  When CRACK ART 
  2099. loads, all available screens are marked with a blue LED.  
  2100. Doubleclicking on a blue LED deactivates the corresponding screen, 
  2101. removing it from the animation list.  [Can you turn a screen back 
  2102. on?  It doesn't say.]  
  2103.  
  2104. After you select the animation icon in the menu, an alert box 
  2105. appears, through which you can control the direction of the 
  2106. animation.
  2107.  
  2108. LEFT:  The screens follow in ascending order.
  2109. RIGHT:  The screens follow in descending order.
  2110. BOTH:  The animation runs back and forth, over and over.
  2111.  
  2112. The speed of the animation can be controlled via the horizontal 
  2113. position of the mouse cursor.  The fastest sequence occurs with 
  2114. the cursor against the left edge of the screen.  The TT throws a 
  2115. monkey wrench into the works here.  If you drive the animation too 
  2116. fast, the picture sways.  Therefore, foot (hand) off the gas.
  2117.  
  2118.  
  2119. ----------------------------------------------------------------
  2120.      RELAX
  2121. ----------------------------------------------------------------
  2122. If you click on the RELAX button, a .GAM program will be loaded 
  2123. from the GAME folder and the buttons will be redefined.  If no 
  2124. game is found, a neutral relax button appears.
  2125.  
  2126. We have let our infantile drives have free run here.  The graphics 
  2127. were naturally created with CRACK ART.
  2128.  
  2129. ASTROIDS by Roy
  2130. ----------------------------------------------------------------
  2131. For fans:  This is a small (approx 6500 bytes) PC-relative 
  2132. assembler program which runs as a subroutine.
  2133.  
  2134. Remarks:  Maximum 32 stones, 16 guns, and one spaceship on the 
  2135. screen.  Spaceship motion is computed in a fixed point routine.  
  2136. The collision routine interrogates a diamond shape rather than a 
  2137. rectangle.  This makes the sprite form more realistic.  The speed 
  2138. is throttled to a playable level.  It could go faster!
  2139.  
  2140. Control:  Joystick (implemented by JayBee): left, right, forward, 
  2141. fire.  ESC to end the game.  No extra lives.  Game over when 
  2142. spaceship is gone or ESC key is pressed.
  2143.  
  2144.  
  2145. BRAIN (Master Mind) by JayBee
  2146. ----------------------------------------------------------------
  2147. Try to find the solution within the allowable moves.  Doubled 
  2148. stones are not allowed.
  2149.  
  2150. Game over when solved, not solved, ESC key and then mouse.
  2151.  
  2152.  
  2153. ----------------------------------------------------------------
  2154.           - PRINTER -
  2155. ----------------------------------------------------------------
  2156. Loads a printer driver or calls an already loaded driver.  This 
  2157. function is at the moment not fully converted.  Our printer 
  2158. drivers are assembler programs.  To accommodate a different 
  2159. printer, we change the source code and reassemble.
  2160.  
  2161. For assembler programmers:  Parameter passing to subroutines is 
  2162. covered under ASM in the main menu:  Picture address / Pal address 
  2163. / Work_0 / Work_1 / Work_2
  2164.  
  2165.  
  2166. ----------------------------------------------------------------
  2167.           - USER ID -
  2168. ----------------------------------------------------------------
  2169. Shareware info...
  2170.  
  2171. ----------------------------------------------------------------
  2172.           - ACC -
  2173. ----------------------------------------------------------------
  2174. Call accessories.  Only if you have more than 1MB RAM should you 
  2175. load any (large) accessories.
  2176.  
  2177. CRACK ART allows communication with accessories via the SCRAP 
  2178. buffer.  It would be possible to pass a memory address and a list 
  2179. of all screens and color palettes, thereby allowing additional 
  2180. routines to be added to CRACK ART.  The exact procedure is not 
  2181. documented here.
  2182.  
  2183. ----------------------------------------------------------------
  2184.           Keyboard Mapping
  2185. ----------------------------------------------------------------
  2186. The keyboard is loaded with the essential functions to permit work 
  2187. without having constantly to refer to the menu screen.
  2188.  
  2189. Most functions are assigned to keys which match their initials.  
  2190. The functions which carry out fill functions are assigned to keys 
  2191. from Z downward.  In the menus, the equivalent keys are marked in 
  2192. red.
  2193.  
  2194.           Key Assignments in the Menu
  2195. ----------------------------------------------------------------
  2196. D       Draw                    1-9     Screens
  2197. P       Point                   0       Superview
  2198. L       Line                    F1      Load
  2199. K       K-Line                  F2      Save
  2200. F       Frame                   F3      Show
  2201. C       Circle                  F4      Disk Menu
  2202. E       Eraser                  F5      Crack File
  2203. A       Airbrush                F6      Crack Disk
  2204. R       Rays                    
  2205. W       Polygon                 B       Brush/Block toggle
  2206. X       Box                     (       X-Ray
  2207. Y       Disc                    )       Blocked
  2208. T       Text                    /       Free Move
  2209. O       Outline                 *       Edge Stop
  2210. Z       Fill
  2211. S       Smear                   ESC     Switch to Work Screen
  2212. M       Mirror
  2213. I       Spline                  HELP    Just for Joke
  2214.  
  2215.  
  2216.         Keyboard Assignments in the Work Screen
  2217. ----------------------------------------------------------------
  2218. The keys for the drawing functions are identically assigned here.  
  2219. In addition, you can switch among working screens and specify 
  2220. block parameters.
  2221.  
  2222. SPACE                   Color menu on / off
  2223. UNDO                    Undo last operation
  2224. F1-F10 (+Shift)         Magnifying glass 3*3 to 12*12
  2225.  
  2226. Cursor left/right       Choose drawing colors
  2227. Cursor up               Flip screen vertically
  2228. Cursor down             Flip screen horizontally
  2229. Cursor+Block            Flip block in corresponding direction
  2230.  
  2231. ESC                     Cut out rectangular block 
  2232. Control+ESC             Cut out circular or elliptical block 
  2233. Shift+ESC               Cut out block with lasso
  2234. Alternate+ESC           Cut out block with fill function
  2235.  
  2236. BACKSPACE               Rotate block 90 degrees clockwise
  2237.                         (fast)
  2238. RETURN                  Set block to current color palette 
  2239. HELP                    Minimize block spread (CUT).  Doesn't
  2240.                         work with OBJECT.
  2241. ClrHome                 Center block on screen
  2242. Insert                  (TT only) Reduced display of the current
  2243.                         screen in TT middle resolution
  2244.  
  2245. -----------------------------------------------------------------
  2246.      HAVE YOU EVER SEEN?
  2247. -----------------------------------------------------------------
  2248. - That the operating system bug which left the top two screen 
  2249. lines empty when drawing filled objects has been overcome?
  2250. - That the mouse casts a shadow when it finds itself over a menu 
  2251. shadow?
  2252. - That the floppy lamps dim rather than blink at the end of 
  2253. information?
  2254. - That the borders of the selected icons are not of uniform color, 
  2255. but rather are darker on the shadow side?
  2256. - That the mouse throws a shadow on the borders, too?
  2257. - That all icons were antialiased by hand?
  2258. - That only as many disk drives as are actually attached are 
  2259. shown?  (No virtual B through disk swaps.)
  2260. - That even the Block Button has a shadow?
  2261. - That the day of the week is correctly calculated from the date?  
  2262. [Sonntag, Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag]
  2263. - That bad disk sectors are shown in dark red during formatting?  
  2264. (And it means absolutely nothing, because I don't flag them in the 
  2265. FAT.  Therefore, kismet and into the trash with it!  JayBee)
  2266. - That empty screens are marked with a graffiti-looking EMPTY 
  2267. SCREEN?
  2268. - That you might finally use up the ribbon on your color printer?
  2269. (Except for lasers, Desk Jets, and similar great holes into which 
  2270. one can throw his entire savings...)
  2271. - That every item in 'HAVE YOU EVER SEEN' begins with 'That?'
  2272.  
  2273. -----------------------------------------------------------------
  2274.                   THE ULTIMATE END - YOU DID IT!
  2275. -----------------------------------------------------------------
  2276.